home *** CD-ROM | disk | FTP | other *** search
File List | 1986-10-19 | 3.5 KB | 158 lines |
- ' *****************
- ' *** INPUT.LST ***
- ' *****************
- '
- DEFWRD "a-z"
- '
- > PROCEDURE yes.no.input
- ' *** choose between YES and NO
- ' *** YES = <Y> of <y> of <Return> or left mouse-button
- ' *** NO = <N> of <n> of right mouse-button
- ' *** global : YES! NO!
- LOCAL x,y,in$,w1$,w2$,k
- CLR yes!,no!,in$,k
- HIDEM
- x=CRSCOL
- y=CRSLIN
- w1$="(y/n)"
- w2$=SPACE$(5)
- REPEAT ! clear key-buffer
- in$=INKEY$
- UNTIL in$=""
- PRINT AT(x,y);w1$;
- REPEAT
- PAUSE 30
- SWAP w1$,w2$
- PRINT AT(x,y);w1$;
- k=MOUSEK
- in$=INKEY$
- UNTIL INSTR("yYnN"+CHR$(13),in$) OR k>0
- IF INSTR("yY"+CHR$(13),in$) OR k=1
- yes!=TRUE
- PRINT AT(x,y);"YES ";
- ELSE
- no!=TRUE
- PRINT AT(x,y);"NO ";
- ENDIF
- PAUSE 10 ! short pause for release of button
- RETURN
- ' **********
- '
- > PROCEDURE pos.number.input(len,VAR number#)
- ' *** geformatteerde input van positieve getallen
- LOCAL x,y,in$,txt$,enter!
- HIDEM
- x=CRSCOL
- y=CRSLIN
- LET field$=STRING$(len,".")
- PRINT LEFT$("_"+field$,len);
- REPEAT
- REPEAT
- in$=INKEY$
- UNTIL LEN(in$)=1
- IF in$=CHR$(13)
- enter!=TRUE
- ENDIF
- IF in$=backspace$
- IF LEN(txt$)>0
- txt$=LEFT$(txt$,LEN(txt$)-1)
- ELSE
- OUT 2,7
- ENDIF
- ENDIF
- IF LEN(txt$)<len AND INSTR(".0123456789",in$)
- txt$=txt$+in$
- ELSE
- OUT 2,7
- ENDIF
- PRINT AT(x,y);LEFT$(txt$+"_"+field$,len);
- UNTIL enter!
- PRINT AT(x,y);VAL(txt$);SPACE$(len-LEN(txt$));
- number#=VAL(txt$)
- RETURN
- ' **********
- '
- > PROCEDURE pos.integer.input(len,VAR number%)
- ' *** geformatteerde input van positieve integers
- LOCAL x,y,in$,txt$,enter!
- HIDEM
- x=CRSCOL
- y=CRSLIN
- LET field$=STRING$(len,".")
- PRINT LEFT$("_"+field$,len);
- REPEAT
- REPEAT
- in$=INKEY$
- UNTIL LEN(in$)=1
- IF in$=CHR$(13)
- enter!=TRUE
- ENDIF
- IF in$=backspace$
- IF LEN(txt$)>0
- txt$=LEFT$(txt$,LEN(txt$)-1)
- ELSE
- OUT 2,7
- ENDIF
- ENDIF
- IF LEN(txt$)<len AND INSTR("0123456789",in$)
- txt$=txt$+in$
- ELSE
- OUT 2,7
- ENDIF
- PRINT AT(x,y);LEFT$(txt$+"_"+field$,len);
- UNTIL enter!
- PRINT AT(x,y);VAL(txt$);SPACE$(len-LEN(txt$));
- number%=VAL(txt$)
- RETURN
- ' **********
- '
- > PROCEDURE text.input(default$,len,VAR txt$)
- ' *** geformatteerde input van tekst
- LOCAL x,y,in$,code$,enter!
- HIDEM
- x=CRSCOL
- y=CRSLIN
- LET field$=STRING$(len,".")
- txt$=default$
- PRINT AT(x,y);LEFT$(txt$+"_"+field$,len);
- GRAPHMODE 3
- BOX (x-1)*8-2,(y-1)*char.height-2,(x-1)*8+len*8+2,y*char.height+2
- PLOT (x-1)*8-2,(y-1)*char.height-2
- GRAPHMODE 1
- DO
- REPEAT
- in$=INKEY$
- UNTIL in$<>""
- EXIT IF in$=CHR$(13)
- IF in$=backspace$
- IF LEN(txt$)>0
- txt$=LEFT$(txt$,LEN(txt$)-1)
- ELSE
- OUT 2,7
- ENDIF
- ENDIF
- IF in$=esc$
- txt$=""
- ENDIF
- IF ASC(in$)=1 ! <CONTROL> <A> voor invoer speciale karakters
- code$=INPUT$(3) ! ASCII-code (3 cijfers !!)
- in$=CHR$(VAL(code$))
- ENDIF
- IF LEN(txt$)<len AND in$>=CHR$(32) AND LEN(in$)=1
- txt$=txt$+in$
- ELSE
- IF in$<>esc$ AND in$<>backspace$
- OUT 2,7
- ENDIF
- ENDIF
- PRINT AT(x,y);LEFT$(txt$+"_"+field$,len);
- LOOP
- GRAPHMODE 3
- BOX (x-1)*8-2,(y-1)*char.height-2,(x-1)*8+len*8+2,y*char.height+2
- PLOT (x-1)*8-2,(y-1)*char.height-2
- GRAPHMODE 1
- PRINT AT(x,y);txt$;SPACE$(len-LEN(txt$));
- RETURN
- ' **********
- '
-